from flask import Flask,request   # 调用request
from flask import render_template   # 调用template 模板
from vowels import reserch4letters
from timetable import table
from shopping import car
# 服务端：中央登记中心

app = Flask(__name__)
# 1. 路由：定义url
# a. 相对路径（相对于根路径的一部分）
# b. internet: request , methods (GET默认)/(POST)  ---两种请求方法
# 2.视图函数：
# a. 函数：做重复功能的代码块  ---用来处理数据
# b. 视图：可以返回    文本txt （用户体验低，不容易处理）
#                    html文件 （用户体验低，ui美观简洁）
#                    json 文件 （数据处理方便，常用于数据传递）
#                   ，并在网页中反应出来   （如：完整姓名的拼接）
# 第一种形式：返回值为文本 '<h1>Hello World!</h1>'



# 1.request , methods [GOT默认]
# 期末项目首页
@app.route('/')
def hello_world():
    return render_template('hello.html')


# 2.      [post]
# 姓名全称输入框
@app.route('/index')
def index():
    return render_template('index.html')

# 姓名全称结果显示框
@app.route('/result',methods=['POST'])      # 接口： 链接关系
def result():
    # 用户数据由 index.html  --methon action 提交到这
    py_firstname = request.form['firstname']        # py_name 为接受表单数据
    py_lastname = request.form['lastname']
    py_fullname = py_firstname.title() + ' ' + py_lastname.title()      # HTML ---> py
    return render_template('result.html',                # py  ---> html
                            fullname = py_fullname)

# 元音词频输入框
@app.route('/vowels')
def vowels():
    return render_template('vowels.html')

# 元音词频结果显示框
@app.route('/result2',methods=['POST'])
def result2():
    py_word = request.form['word']
    py_vowels = request.form['vowels']
    py_found = reserch4letters(py_vowels,py_word)
    return render_template('result2.html',
                           found = py_found,
                           word = py_word)



# html5 表单 <form>标签 收集不同类型的【用户输入】
#  <input>标签  类型： txt submit radio

# 课表登录框
@app.route('/timetable')
def timetable():
    return render_template('timetable.html')


# 查询时间输入框
@app.route('/result3',methods=['POST'])
def result3():
    py_xingming = request.form['xingming']
    py_xuehao = request.form['xuehao']
    return render_template('result3.html',
                            truename = py_xingming)

# 课表结果显示框
@app.route('/result4',methods=['POST'])
def result4():
    py_week = request.form['week']
    py_hour = request.form['hour']
    py_minute = request.form['minute']
    py_time = int(py_hour + py_minute)
    py_class = table(py_week,py_time)
    return render_template('result4.html',
                           timetables = py_class,
                           hourtime = py_hour,
                           minutetime = py_minute)


# 购物车登录页面
@app.route('/login')
def login():
    return render_template('login.html')


@app.route('/shophome',methods=['POST'])
def shophome():
    return render_template('shophome.html')


@app.route('/product',methods=['POST'])
def product():
    account = request.form['account']
    choice = request.form['choice']
    py_account = int(account)
    py_choice = int(choice)
    py_car = car(py_account,py_choice)

    return render_template('product.html',
                           car = py_car,
                           choice = py_choice)

@app.route('/success')
def success():
    return render_template('success.html')


if __name__ == '__main__':
    app.run()
